Skip to main content

mockseries.seasonality.weekly_seasonality

WeeklySeasonality#

class WeeklySeasonality(PeriodSeasonality)

Realistic weekly seasonality from a set of time/value constraints.

Finest granularity for constraints and generation is microseconds. The interpolation method is PCHIP.

Arguments:

  • time_value_constraints - A dict of {time: value} constraints. The curve will pass through these points. Pass time as a timedelta between 0 days 00:00:00 and 6 days 23:59:59. For instance, {timedelta(days=3): 4.2}` Day 0 corresponds to Monday, day 6 corresponds to Sunday.
  • utc_offset - The offset from UTC of the time. For instance, if you give constraints with GMT-8 times in mind, pass timedelta(hours=-8). Default behavior considers times are passed as UTC.
  • normalize - transform constraints to a multiplication factor for easy use in multiplicative interactions. Eg: [5, 10, 15] --> [0.5, 1, 1.5].

Examples:

from datetime import timedelta, datetime
from mockseries.seasonality import WeeklySeasonality
timeseries = WeeklySeasonality({timedelta(days=0): 1., timedelta(days=2): 1.8, timedelta(days=4): 1.1, timedelta(days=5): 2.5, timedelta(days=6): 0.6})
timeseries.preview_week(num_weeks=3)